Skip to content

feat(n8n): add n8n workflow automation container module#989

Open
demetere wants to merge 1 commit intotestcontainers:mainfrom
demetere:feat/n8n-module
Open

feat(n8n): add n8n workflow automation container module#989
demetere wants to merge 1 commit intotestcontainers:mainfrom
demetere:feat/n8n-module

Conversation

@demetere
Copy link

Summary

  • Adds a new N8nContainer module for n8n workflow automation
  • Uses the official docker.n8n.io/n8nio/n8n Docker image, exposing port 5678
  • Health check via /healthz endpoint with @wait_container_is_ready decorator
  • Zero external dependencies (stdlib urllib only)
  • Provides get_url() and get_webhook_url() convenience methods

Closes #901

Implementation details

  • N8nContainer extends DockerContainer, following the same pattern as VaultContainer / NginxContainer
  • Disables telemetry (N8N_DIAGNOSTICS_ENABLED=false) by default for test environments
  • Optional encryption_key parameter for credential encryption configuration
  • Registered in pyproject.toml as n8n = [] (no extra pip dependencies)

Test plan

  • test_docker_run_n8n — starts container, verifies /healthz returns 200 with {"status": "ok"}
  • test_n8n_get_webhook_url — starts container, verifies webhook URL is correctly constructed
  • All pre-commit hooks pass (ruff, ruff-format, trailing whitespace, end-of-files)

🤖 Generated with Claude Code

@demetere demetere force-pushed the feat/n8n-module branch 2 times, most recently from 09713d0 to c25e2a6 Compare March 20, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New Container: n8n

1 participant